package io.renren.modules.generator.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.common.utils.R;
import io.renren.modules.generator.entity.TTrainingObjectEntity;
import io.renren.modules.generator.entity.TTrainingScoreEntity;
import io.renren.modules.generator.entity.vo.TTrainingScoreVo;
import io.renren.modules.generator.entity.vo.UpdateScoreVo;
import io.renren.modules.user.entity.TPeopleEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 考核成绩表
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2019-08-07 13:58:41
 */
public interface TTrainingScoreService extends IService<TTrainingScoreEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 历史成绩列表
     */
    List<TTrainingScoreEntity> getTTrainingScore(TTrainingScoreEntity trainingScoreEntity);
    /**
     * 最新成绩列表
     */
    List<TTrainingScoreEntity> selectList(TTrainingScoreEntity queryWrapper);

    /**
     * 导入
     */
    /**
     * 导入
     */
    Boolean DrTTrainingScore(List<TTrainingScoreVo> list);

    /**
     * 根据身份证号  获取人员id
     * @param peopleEntity
     * @return
     */
    TPeopleEntity getPeopleId(TPeopleEntity peopleEntity);

    /**
     * 自动评分 测试
     */
    List<TTrainingScoreEntity> automaticScoring(TTrainingScoreEntity trainingScoreEntity);
    /**
     * 批量修改  自动评分后 将成绩填入对应的行（人）
     */
    int updatePlScore(List<UpdateScoreVo> UpdateScoreList);

    /**
     * 批量修改  自动评分后 将成绩和评价填入对应的行（人）
     */
    int updateMarkAndjudge(List<TTrainingScoreEntity> list);
    /**
     * 单个修改  自动评分后 将成绩和评价填入对应的行（人）
     */
    int updateMarkAndjudgeSingle(TTrainingScoreEntity tTrainingScoreEntity);

    /**
     * 获取自动评分后 的合格率
     */
    Double getHgl(TTrainingScoreEntity trainingScoreEntity);
    /**
     * 判定 类型
     */
    List<Map<String,Object>> decideList();
    /**
     * 获取单次训练成绩
     */
    List<TTrainingScoreEntity> selectByTrainingIdAndChenkCount(Integer trainingId,Integer chenkCount);

    /**
     * 根据身份证号批量获取人员ID
     * @param idNoList
     * @return
     */
    List<Map<String,Object>> batchGetPeopleId( List<String> idNoList);

    Map<String,Object> selectPeople(Integer id);
}

